const util = require('../../utils/util.js')
const dao = require('../../data/dao.js')

Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		name: null,
		totp_secret_name: "测试",
		totp_secret_value: '',
		totp_secret_ttl: 90,
		totp_secret_timeStr: '',
		totp_config: null,
		totp_secret_value_view_btn: "查看",
	},
	totp_secret_value_view: function () {
		console.log("totp_secret_value_view", this.data.name);
		if (this.data.totp_secret_value_view_btn == '查看') {
			util.MyLog.log("查看口令秘钥: " + this.data.name);
			this.setData({
				totp_secret_value: this.data.totp_config.secret,
				totp_secret_value_view_btn: "隐藏",
			});
		} else {
			this.setData({
				totp_secret_value: this.data.totp_config.secret_marked,
				totp_secret_value_view_btn: "查看",
			});
		}
	},
	totp_secret_settop: function (event) {
		var name = this.data.totp_secret_name;
		console.log("totp_secret_settop置顶", name);
		dao.totp_config.setSecretTop(name);
		dao.totp_config.saveConfig();
		wx.navigateBack({
			delta: 1
		})
	},
	totp_secret_edit: function (event) {
		var name = this.data.totp_secret_name;
		console.log("totp_secret_edit", name);
		util.MyLog.log("跳转编辑口令: " + name);
		wx.navigateTo({
			url: '../../pages/secretEdit/secretEdit?action=edit'
				+ '&name=' + encodeURIComponent(name)
		})
	},
	totp_secret_delete: function () {
		var name = this.data.totp_secret_name;
		if (!name)
			return;
		wx.showModal({
			title: '提示',
			content: '确定删除',
			success(res) {
				if (!res.confirm)
					return;
				util.MyLog.log("删除口令: " + name);
				var ret = dao.totp_config.deleteSecret(name);
				dao.totp_config.saveConfig();
				if (ret > 0) {
					//this.onShow();
					wx.showToast({
						title: "删除成功！",
					});
					wx.navigateBack({
						delta: 1
					})
				} else {
					wx.showToast({
						title: "删除失败！",
						icon: "none",
					});
				}
			}
		})
	},
	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		var name = options.name || "";
		{
			name = decodeURIComponent(name);
			var config = dao.totp_config.getSecret(name);
			//console.log(config);

			// 过期信息
			var time = new Date().getTime();
			var day = 1000 * 60 * 60 * 24;
			if (!config.ttl)
				config.ttl = 30;
			var ttl = '有效期为' + config.ttl + '天，';
			if (time - config.time > config.ttl * day) {
				ttl += "当前已过期！";
			} else {
				ttl += "还有" + util.timeLengthString(config.ttl * day + config.time - time) + "过期";
			}

			this.setData({
				name: name,
				totp_secret_name: name,
				//totp_secret_value: config.secret,
				totp_secret_value: config.secret_marked,
				//totp_secret_ttl: config.ttl,
				totp_secret_ttl: ttl,
				totp_secret_timeStr: config.timeStr,
				totp_config: config,
			});
		}
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {
		return {
			title: '动态口令',
			path: '/pages/index/index',
			imageUrl: '/image/share.png', // 使用专门的分享图片，默认截图会截取用户的口令
		}
	}
})